package cn.gok.util;

import java.util.HashMap;

/**
 * @Description:  自定义的响应结果集对象
 * @Author: chen fan
 * @Date: 2022年10月18日 16:12:29
 */

public class ResultData extends HashMap {

    /**
     *自定义的操作成功的业务状态码
     */
    public static final int  OPERATION_SUCCESS = 10001;

    /**
     *自定义的操作失败的业务状态码
     */
    public static final int  OPERATION_FAIL = 10002;

    /**
     * 自定义登录成功的业务状态码
     */
    public static final int LOGIN_SUCCESS = 20001;

    /**
     * 自定义登录成功的业务状态码
     */
    public static final int LOGIN_FAIL = 20002;

    /**
     * 自定义验证密保问题 成功的业务状态码
     */
    public static final int CHECK_SECURITY_QUESTION_SUCCESS = 30001;

    /**
     * 自定义验证密保问题 失败的业务状态码
     */
    public static final int CHECK_SECURITY_QUESTION_FAIL = 30002;


    public ResultData(){}

    public ResultData(int code, String msg, Object data) {
        this.put("code",code);
        this.put("msg",msg);
        this.put("data",data);
    }


    /**
     * 操作成功，并且没有数据时，直接响应给前端的ResultData
     * @return
     */
    public static ResultData ok(){
        return new ResultData(OPERATION_SUCCESS,"操作成功",null);
    }

    public static ResultData ok(int code ,String msg){
        return new ResultData(code,msg,null);
    }

    /**
     * 操作失败，并且没有数据时，直接响应给前端的ResultData
     * @return
     */
    public static ResultData fail(){
        return new ResultData(OPERATION_FAIL,"操作失败",null);
    }

    public static ResultData fail(int code ,String msg){
        return new ResultData(code,msg,null);
    }

    /**
     * 封装数据给前端的  ResultData
     */
    public static ResultData createData(int code,Object data){
        return new ResultData(code,null,data);
    }


}
